package org.summer.lawyer.domain.bo.spuorder;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

/**
 *
 */
@Data
public class SpuOrderCreateBo implements Serializable {


    @Serial
    private static final long serialVersionUID = -4333997076420159730L;

    /**
     * 小程序AppId
     */
    @Schema(title = "appId", type = "String", description = "小程序AppId")
    @NotEmpty(message = "AppId不能为空")
    private String appId;

    /**
     * 小程序用户openId
     */
    @Schema(title = "openId", type = "String", description = "小程序用户openId")
    @NotEmpty(message = "OpenId不能为空")
    private String openId;

    /**
     * 微信用户ID
     */
    @Schema(title = "wxUserId", type = "Long", description = "微信用户ID")
    @NotNull(message = "用户ID不能为空")
    private Long wxUserId;

    /**
     * 商品ID
     */
    @Schema(title = "spuId", type = "Long", description = "商品ID")
    private Long spuId;

    /**
     * 邮箱
     */
    @Schema(title = "email", type = "String", description = "邮箱")
    private String email;

    /**
     * 数量
     */
    @Schema(title = "count", type = "Integer", description = "购买数量")
    private Integer count;

    /**
     * 购物车ID，暂未使用
     */
    @Schema(title = "cartId", type = "Long", description = "购物车ID")
    private Long cartId;

    /**
     * 联系电话
     */
    @Schema(title = "contactPhone", type = "String", description = "联系电话")
    private String contactPhone;

    /**
     * 联系人
     */
    @Schema(title = "contactName", type = "String", description = "联系人")
    private String contactName;

    /**
     * 备注
     */
    @Schema(title = "remark", type = "String", description = "备注")
    private String remark;

    /**
     * 订单ID
     */
    @Schema(title = "orderId", type = "Long", description = "订单ID")
    private Long orderId;

}
